1
Введение в урок 3: Решение задачи нелинейной классификации
EvoClass-AI002Лекция 3
00:00

Мы переходим за пределы возможностей линейных моделей, которые испытывают трудности при классификации данных, неразделимых прямой линией. Сегодня мы применяем рабочий процесс PyTorch для создания глубокой нейронной сети (ГНС) способной изучать сложные нелинейные границы решенийнеобходимые для решения реальных задач классификации.

1. Визуализация необходимости нелинейных данных

Наш первый шаг — создать сложный синтетический набор данных, например, распределение двух полумесяцев, чтобы наглядно продемонстрировать, почему простые линейные модели терпят неудачу. Эта настройка вынуждает нас использовать глубокие архитектуры для приближения необходимой сложной кривой, разделяющей классы.

Свойства данных

  • Структура данных:Синтетические признаки данных (например, $1000 \times 2$ для $1000$ образцов с 2 признаками).
  • Тип выходных данных: Одно значение вероятности, часто torch.float32, отражающее принадлежность к классу.
  • Цель: Создать кривую границу решений с помощью многослойных вычислений.
Сила нелинейных активаций
Основной принцип ГНС — введение нелинейности в скрытых слоях с помощью функций, таких как ReLU. Без них последовательное наложение слоёв просто приведёт к одной большой линейной модели, независимо от глубины.
data_setup.py
ТЕРМИНАЛbash — среда классификации
> Готово. Нажмите «Запустить», чтобы выполнить.
>
ИНСПЕКТОР ТЕНЗОРОВ В режиме реального времени

Запустите код, чтобы проверить активные тензоры
Вопрос 1
Какова основная цель функции активации ReLU в скрытом слое?
Ввести нелинейность, чтобы глубокие архитектуры могли моделировать кривые
Ускорить умножение матриц
Обеспечить, чтобы выходное значение оставалось между 0 и 1
Нормализовать выходной слой до среднего значения ноль
Вопрос 2
Какая функция активации требуется в выходномслое для задачи бинарной классификации?
Сигмоид
Софмакс
ReLU
Вопрос 3
Какая функция потерь напрямую соответствует задаче бинарной классификации с использованием сигмоидного выхода?
Бинарная потеря перекрёстной энтропии (BCE)
Среднеквадратическая ошибка (MSE)
Потеря перекрёстной энтропии
Вызов: Проектирование основной архитектуры
Интеграция компонентов архитектуры для нелинейного обучения.
Вам нужно создать nn.Module для задачи двух полумесяцев. Признаки входа: 2. Классы выхода: 1 (вероятность).
Шаг 1
Опишите порядок вычислений для одного скрытого слоя в этой ГНС.
Решение:
Вход $\to$ Линейный слой (матрица весов) $\to$ Активация ReLU $\to$ Выход следующему слою.
Шаг 2
Каким должно быть размер последнего слоя, если форма входа $(N, 2)$, а используется функция потерь BCE?
Решение:
Выходной слой должен иметь размер $(N, 1)$, чтобы каждый образец давал одно значение вероятности, соответствующее форме метки.